package com.yuand.service;

import com.yuand.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuand.entity.SysUserRole;
import com.yuand.utils.ResponseResult;

import java.util.List;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author yuandong
 * @since 2022-01-14
 */
public interface SysRoleService extends IService<SysRole> {

	/**
	 * 查询所有角色不分页
	 *
	 * @return
	 */
	public List<SysRole> selectAll();


	/**
	 * 查询所有角色-分页
	 * @param role
	 * @return
	 */
	public List<SysRole> selectRoleList(SysRole role);

	/**
	 * 新增角色
	 * @param role
	 */
	public int add(SysRole role);

	/**
	 * 查询角色及关联的菜单信息
	 * @param roleId
	 * @return
	 */
	public SysRole getRoleInfo(Long roleId);

	/**
	 * 修改角色
	 * @param role
	 * @return
	 */
	public int edit(SysRole role);


	/**
	 * 根据用户名查询对应的角色
	 * @param userId
	 * @return
	 */
    public List<SysRole> selectRolesByUserId(Long userId);

	/**
	 * 取消用户的角色授权
	 * @param userRole
	 */
	public int cancelAuthUser(SysUserRole userRole);

	/**
	 * 根据roleIds删除角色
	 * @param roleIds
	 */
	public void delRole(Long[] roleIds);
}
